package net.zjitc.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.Scanner;

/**
 * @Author admin
 * @Date 2019/4/24 10:30
 * 用预编译方式操作SQL
 */
public class PreparedStatementTest {
    public static void main(String[] args) {
        /* 1、加载驱动
        * 2、获得数据库连接
        * 3、获取操作SQL语句的对象：PreparedStatement
        *    需要传入的参数
        * 4、执行SQL语句（增删改）
        * 5、关闭*/
        Scanner scannerString=new Scanner(System.in);
        Scanner scannerInt=new Scanner(System.in);
        Connection conn=null;
        PreparedStatement pstmt=null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url="jdbc:mysql://localhost:3306/pyt";
            String user="root";
            String password="123456";
            conn= DriverManager.getConnection(url,user,password);
            String sql="insert into user(name,age) values(?,?) ";
            pstmt=conn.prepareStatement(sql);
            System.out.println("请输入用户名：");
            String name=scannerString.nextLine();
            System.out.println("请输入年龄：");
            int age=scannerInt.nextInt();
            /* 设置SQL语句中需要传入的参数*/
            pstmt.setString(1,name);
            pstmt.setInt(2,age);
            /* 执行SQL语句*/
            int c=pstmt.executeUpdate();
            System.out.println("影响了"+c+"行");
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
